package huawei_nowcoder;

import java.util.*;

/**
 * @Description: 合唱队
 * @Date: 2020/4/13
 * @Author: 许群星
 */
public class _23_Chorus {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            //得到初始数据
            int n = sc.nextInt();
            //边缘条件
            if (n <= 2)
                System.out.println(0);
            int[] members = new int[n];//成员身高
            int[] left = new int[n];//从左到右对应的最大递增子序列数
            int[] right = new int[n];//从右到左的最大递增子序列书    --也就是从左到右的最大递减子序列

            //数组初始化   左和右都至少为1，即自己
            for (int i = 0; i < n; i++) {
                members[i] = sc.nextInt();
                left[i] = 1;
                right[i] = 1;
            }

            //得到递增子序列数
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < i; j++) {
                    if (members[i] > members[j] && left[j] + 1 > left[i])
                        left[i] = left[j] + 1;
                }
            }
            //得到递减子序列数
            for (int i = n - 1; i >= 0; i--) {
                for (int j = n - 1; j > i; j--) {
                    if (members[i] > members[j] && right[j] + 1 > right[i])
                        right[i] = right[j] + 1;
                }
            }
            int max = 0;
            for (int i = 0; i < n; i++) {
                if (left[i] + right[i] > max)
                    max = left[i] + right[i];
            }
            System.out.println(n - max + 1);
        }
    }
}
/*
题目描述
计算最少出列多少位同学，使得剩下的同学排成合唱队形

说明：
N位同学站成一排，音乐老师要请其中的(N-K)位同学出列，使得剩下的K位同学排成合唱队形。
合唱队形是指这样的一种队形：设K位同学从左到右依次编号为1，2…，K，他们的身高分别为T1，T2，…，TK，   则他们的身高满足存在i（1<=i<=K）使得T1<T2<......<Ti-1<Ti>Ti+1>......>TK。
你的任务是，已知所有N位同学的身高，计算最少需要几位同学出列，可以使得剩下的同学排成合唱队形。
请注意处理多组输入输出！

输入描述:
整数N

输出描述:
最少需要几位同学出列

示例1
输入
复制
8
186 186 150 200 160 130 197 200
1    1   1   2    1  1 3   4
200 197 130 160 200 150 186 186

输出
复制
4
 */